home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / windows / ldialogs.zip / MAINFORM.PAS < prev    next >
Pascal/Delphi Source File  |  1996-07-25  |  3KB  |  119 lines

  1. unit Mainform;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, LDialogs, StdCtrls {$IFDEF NEVER} , Dialogs, BlahBlah {$ENDIF} ;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Button2: TButton;
  13.     Button3: TButton;
  14.     Button4: TButton;
  15.     CheckBox1: TCheckBox;
  16.     procedure FormCreate(Sender: TObject);
  17.     procedure Button1Click(Sender: TObject);
  18.     procedure Button2Click(Sender: TObject);
  19.     procedure Button3Click(Sender: TObject);
  20.     procedure Button4Click(Sender: TObject);
  21.     procedure CheckBox1Click(Sender: TObject);
  22.   private
  23.     { Private declarations }
  24.     procedure WndProc(var Message: TMessage); override;
  25.     procedure ApplicationActivate(Sender: TObject);
  26.     procedure ApplicationDeactivate(Sender: TObject);
  27.     procedure ManageStayOnTop;
  28.   public
  29.     { Public declarations }
  30.   end;
  31.  
  32. var
  33.   Form1: TForm1;
  34.  
  35. implementation
  36.  
  37. {$R *.DFM}
  38.  
  39. uses Unit2, Unit3;
  40.  
  41. procedure TForm1.ApplicationActivate(Sender: TObject);
  42. begin
  43.   BringWindowToTop(GetWindowOnTop(hInstance));
  44. end;
  45.  
  46. procedure TForm1.FormCreate(Sender: TObject);
  47. begin
  48.   Application.HelpFile := 'LDIALOGS.HLP';
  49.   Application.OnActivate := ApplicationActivate; 
  50.   Application.OnDeactivate := ApplicationDeactivate;
  51. end;
  52.  
  53. procedure TForm1.Button1Click(Sender: TObject);
  54. begin
  55.   Application.HelpContext(2);
  56. end;
  57.  
  58. procedure TForm1.Button2Click(Sender: TObject);
  59. var
  60.   OpenDialog: TOpenDialog;
  61. begin
  62.   OpenDialog := TOpenDialog.Create(nil);
  63.   OpenDialog.HelpContext := 5;
  64.   OpenDialog.Options := [ofShowHelp];
  65.   OpenDialog.Execute;
  66.   OpenDialog.Free;
  67. end;
  68.  
  69. procedure TForm1.WndProc(var Message: TMessage);
  70. begin
  71.   CheckHelp(Message);
  72.   inherited WndProc(Message);
  73. end;
  74.  
  75. procedure TForm1.Button3Click(Sender: TObject);
  76. var
  77.   Form2: TForm2;
  78. begin
  79.   Form2 := TForm2.Create(nil);
  80.   Form2.ShowModal;
  81.   Form2.Free;
  82. end;
  83.  
  84. procedure TForm1.Button4Click(Sender: TObject);
  85. var
  86.   Form3: TForm3;
  87. begin
  88.   Form3 := TForm3.Create(nil);
  89.   Form3.ShowModal;
  90.   Form3.Free;
  91. end;
  92.  
  93. procedure TForm1.CheckBox1Click(Sender: TObject);
  94. begin
  95.   ManageStayOnTop;
  96. end;
  97.  
  98. procedure TForm1.ApplicationDeactivate(Sender: TObject);
  99. begin
  100.   if not Application.Terminated then
  101.     ManageStayOnTop;
  102. end;
  103.  
  104. procedure TForm1.ManageStayOnTop;
  105. var
  106.   WndInsertAfter: HWnd;
  107. begin
  108.   if CheckBox1.Checked then
  109.     WndInsertAfter := HWND_TOPMOST
  110.   else
  111.     WndInsertAfter := HWND_NOTOPMOST;
  112.   SetWindowPos(Application.Handle, WndInsertAfter, 0, 0, 0, 0, SWP_NOMOVE or
  113.     SWP_NOSIZE or SWP_NOACTIVATE);
  114.   SetWindowPos(Handle, WndInsertAfter, 0, 0, 0, 0, SWP_NOMOVE or
  115.     SWP_NOSIZE or SWP_NOACTIVATE);
  116. end;
  117.  
  118. end.
  119.